home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / gfxcard / chunkyppc / test_new.c < prev    next >
C/C++ Source or Header  |  1999-11-29  |  2KB  |  72 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #include <exec/exec.h>
  6. #include <clib/exec_protos.h>
  7. #include <exec/exec.h>
  8. #include <dos/dos.h>
  9. #include <clib/chunkyppc_protos.h>
  10. #include <cybergraphics/cybergraphics.h>
  11. #include <clib/graphics_protos.h>
  12. #include <clib/intuition_protos.h>
  13. #include <clib/dos_protos.h>
  14.  
  15. #ifndef __PPC__
  16. #include <pragma/exec_lib.h>
  17. #endif
  18.  
  19. struct Library *ChunkyPPCBase;
  20.  
  21. struct tester
  22. {
  23.     int a;
  24. };
  25.  
  26. extern void *myhook(void *data);
  27.  
  28. void __saveds mixedmain()
  29. {
  30.     struct Mode_Screen ms;
  31.     struct Mode_Screen *msptr=&ms;
  32.     unsigned char *screen;
  33.     unsigned char *buffer;
  34.     int f;
  35.     struct tester m;
  36.     m.a=5;
  37.     ms.SCREENWIDTH=320;
  38.     ms.SCREENHEIGHT=200;
  39.     ms.MAXWIDTH=640;
  40.     ms.MAXHEIGHT=480;
  41.     ms.MINDEPTH=8;
  42.     ms.MAXDEPTH=8;
  43.     ms.video_screen=0;
  44.     ms.video_window=0;
  45.     buffer=(unsigned char *)malloc(640*480);
  46.     ChunkyPPCBase=OpenLibrary("chunkyppc.library",3);
  47.     msptr=OpenGraphics("HereticII",&ms,0);
  48.     if (!msptr) return;
  49.     ms.SCREENWIDTH=640;
  50.     ms.SCREENHEIGHT=480;
  51.     ms.MINDEPTH=8;
  52.     ms.MAXDEPTH=8;
  53.     Delay(100);
  54.     msptr=OpenGraphics("HereticII",&ms,1);
  55.     if (!msptr) return;
  56.     screen=ms.screenb;
  57.     if (!(ChunkyInit(&ms,PIXFMT_LUT8))) return;
  58.     for (f=0;f<640*480;f++)
  59.     {
  60.      buffer[f]=12;
  61.     }
  62.     ms.algo(&ms,screen,(void *)buffer,PIXFMT_LUT8,(void *)myhook,(void *)(&m));
  63.     fprintf(stderr,"Return value from 68k: %i\n",m.a);
  64.     Delay(100);
  65.     DoubleBuffer(&ms);
  66.     Delay(100);
  67.     CloseGraphics(&ms,1);
  68.     if (buffer) free(buffer);
  69.     CloseLibrary(ChunkyPPCBase);
  70. }
  71.  
  72.